package com.maijinjie.common.session;

import javax.servlet.http.HttpServletRequest;

import com.maijinjie.admin.sys.bean.UserBean;


/**
 * Session上下文管理
 * @author 王欣逸
 *
 */
public class SessionContext {
	/**
	 * 是否是超级管理员
	 * @param req
	 * @return
	 */
//	public static boolean isAdmin(HttpServletRequest req) {
//		UserBean user = getUser(req);
//		if(null==user){
//			return false;
//		}
//		return 1==user.getType()||2==user.getType()?true:false;
//	}
	/**
	 * 是否用户已登录
	 * @param req 请求
	 * @return boolean 返回true表示已登录，false表示未登录
	 */
	public static boolean isUserLogin(HttpServletRequest req){
		UserBean user = getUser(req);
		if(null==user){
			return false;
		}
		return true;
	}
	/**
	 * 是否用户已停用
	 * @param req 请求
	 * @return boolean 返回true表示已登录，false表示未登录
	 */
//	public static boolean isUserStop(HttpServletRequest req){
//		UserBean user = getUser(req);
//		if(null==user){
//			return true;
//		}
//		return 0==user.getIsStop()?false:true;
//	}
	/**
	 * 获取用户数据权限类型
	 * @param req 请求
	 * @return Integer 用户ID
	 */
//	public static Integer getDateType(HttpServletRequest req){
//		UserBean user = getUser(req);
//		if(null==user){
//			return null;
//		}
//		return user.getDateType();
//	}
	/**
	 * 获取用户部门ID
	 * @param req 请求
	 * @return Integer 用户ID
	 */
//	public static Integer getDepartmentId(HttpServletRequest req){
//		UserBean user = getUser(req);
//		if(null==user){
//			return null;
//		}
//		return user.getDepartmentId();
//	}
	/**
	 * 获取用户ID
	 * @param req 请求
	 * @return Integer 用户ID
	 */
	public static Integer getUserId(HttpServletRequest req){
		UserBean user = getUser(req);
		if(null==user){
			return null;
		}
		return user.getId();
	}
	/**
	 * 获取用户类型
	 * @param req 请求
	 * @return Integer 用户类型：1表示超级管理员；2表示加盟商管理员；3表示普通用户；
	 */
//	public static Integer getUserType(HttpServletRequest req){
//		UserBean user = getUser(req);
//		if(null==user){
//			return null;
//		}
//		return user.getType();
//	}
	/**
	 * 获取用户ID
	 * @param req 请求
	 * @return Integer 用户ID
	 */
//	public static Integer getFranchiseesId(HttpServletRequest req){
//		UserBean user = getUser(req);
//		if(null==user){
//			return null;
//		}
//		return user.getFranchiseesId();
//	}
	/**
	 * 获取角色ID
	 * @param req 请求
	 * @return Integer 用户ID
	 */
//	public static Integer getRoleId(HttpServletRequest req){
//		UserBean user = getUser(req);
//		if(null==user){
//			return null;
//		}
//		return user.getRoleId();
//	}
	/**
	 * 获取用户名
	 * @param req 请求
	 * @return String 用户名
	 暂时停用用户名，改用真实姓名
	public static String getUserName(HttpServletRequest req){
		UserBean user = getUser(req);
		if(null==user){
			return null;
		}
		return user.getUserName();
	}*/
	/**
	 * 获取真实姓名
	 * @param req 请求
	 * @return String 用户名
	 */
	public static String getRealName(HttpServletRequest req){
		UserBean user = getUser(req);
		if(null==user){
			return null;
		}
//		return null==user.getRealName()?user.getUserName():user.getRealName();
		return "";
	}
	/**
	 * 设置用户信息
	 * @param bean UserBean 用户信息
	 * @param req 请求
	 */
	public static void setUser(UserBean bean, HttpServletRequest req){
		req.getSession().setAttribute(SessionKey.userInfo.toString(), bean);
	}
	/**
	 * 获取用户信息
	 * @param req 请求
	 * @return UserBean 用户信息
	 */
	public static UserBean getUser(HttpServletRequest req){
		return (UserBean) req.getSession().getAttribute(SessionKey.userInfo.toString());
	}
	/**
	 * 移除用户信息
	 * @param req 请求
	 */
	public static void removeUser(HttpServletRequest req){
		req.getSession().removeAttribute(SessionKey.userInfo.toString());
	}
}
